package mpbe.estructura.secciones.hormigon_armado.contornos;

/*
 * Este codigo es software libre y se encuentra licenciado 
 * bajo los términos de la Licencia Pública General de GNU versión 3 
 * según se encuentra publicada por la Free Software Foundation.
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Autor: Martin Pablo Bellanca <martin.bellanca@gmail.com>
 * web: http://mpbe.blogspot.com/
 */

import java.util.Vector;

import mpbe.geometria.Parametro;
import mpbe.geometria.Punto;

import org.eclipse.swt.graphics.ImageData;
import org.json.simple.JSONObject;

/**
 * @author  mpbe
 */
public class SHContornoPorParametros {
	protected String designacion;
	/**
	 * @uml.property  name="parametros"
	 * @uml.associationEnd  multiplicity="(0 -1)"
	 */
	protected Parametro [] parametros;
	protected ImageData img;
	
	public SHContornoPorParametros () {
		designacion = new String("none");
		parametros = new Parametro[10];
		img = null;
		for (int ii=0; ii<10; ii++) {
			parametros[ii] = new Parametro();
			parametros[ii].designacion ="fin";
			parametros[ii].valor = 0;
			parametros[ii].valor_default = 0;
		}
	}
	/**
	 * @return
	 * @uml.property  name="designacion"
	 */
	public String getDesignacion() {
		return designacion;
	}
	/**
	 * @return
	 * @uml.property  name="parametros"
	 */
	public Parametro [] getParametros() {
		return parametros;
	}
	public Parametro getParametro(int index) {
		return parametros[index];
	}
	public SHContornoPorParametros getNewParametro(){
		return new SHContornoPorParametros();
	}
	public boolean cargar_Nodos (Vector <Punto> nodo){
		return false;
	}
	public ImageData getImage() {
		return img;
	}
	
	//*****************************************************
	// Funciones JSON
	//*****************************************************

	public JSONObject get_JSONObject() {
		JSONObject jo = new JSONObject();
		jo.put("Designacion", designacion);
		int ii = 0;
		while (parametros[ii].designacion !="fin") {
			jo.put(parametros[ii].designacion, parametros[ii].valor);
			ii++;
		} 
		return jo;
	}
	public String get_JSONString(int tabs) {
		String res = "{";
		res += "\"Designacion\":\""+designacion+"\", ";
		int ii = 0;
		while (parametros[ii].designacion !="fin") {
			if (ii!=0) res += ", ";
			res += "\""+parametros[ii].designacion+"\":"+parametros[ii].valor;
			ii++;
		} 
		res += "}";
		return res;
	}
	private String tabs(int can) {
		String str = new String();
		for (int ii=0; ii<can; ii++) str += "   ";
		return str;
	}
	
}
